package com.example.education.service;

import com.example.education.exception.ParamException;
import com.example.education.model.Collect;
import com.example.education.model.Course;

import java.util.List;

/**
 * 提供用户对资源的收藏，取消收藏，查询收藏的接口。
 */
public interface CollectService {

    /**
     * 添加收藏
     * @param collect
     * @return 是否成功
     */
    boolean insertCollect(Collect collect) throws ParamException;


    /**
     * 取消收藏
     * @param collectId 收藏编号
     * @return 是否成功
     */
    boolean removeCollect(Integer collectId) throws ParamException;

    /**
     * 根据id查询收藏
     * @param collectId
     * @return
     */
    Collect getCollectById(Integer collectId) throws ParamException;

    /**
     * 根据用户编号查新收藏
     * @param userId 用户编号
     * @return
     */
    List<Course> getCollectByUserId(Integer userId) throws ParamException;
}
